package com.xbongbong.paas.service;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.businesstage.pojo.dto.CommonJumpDTO;
import com.xbongbong.pro.businesstage.pojo.dto.StageExecutionEventGetDTO;
import com.xbongbong.pro.businesstage.pojo.dto.StageExecutionEventSaveDTO;
import com.xbongbong.pro.businesstage.pojo.dto.StageFinishWorkDTO;
import com.xbongbong.pro.businesstage.pojo.dto.StageGetDTO;
import com.xbongbong.pro.businesstage.pojo.dto.StageDetailDTO;
import com.xbongbong.pro.businesstage.pojo.dto.StageJumpDTO;
import com.xbongbong.pro.businesstage.pojo.vo.CommonJumpVO;
import com.xbongbong.pro.businesstage.pojo.vo.StageExecutionEventGetVO;
import com.xbongbong.pro.businesstage.pojo.vo.StageExecutionEventSaveVO;
import com.xbongbong.pro.businesstage.pojo.vo.StageFinishWorkVO;
import com.xbongbong.pro.businesstage.pojo.vo.StageGetVO;
import com.xbongbong.pro.businesstage.pojo.vo.StageDetailVO;
import com.xbongbong.pro.businesstage.pojo.vo.StageJumpVO;

/**
 * @Auther: yingjianfeng
 * @Date: 2021/11/17 14:11
 * @Description:
 */
public interface DetailStageService {

    /**
     * 获取阶段记录
     * @return
     */
    StageGetVO stageGet(StageGetDTO stageGetAllDTO) throws XbbException;
      /**
     * description:  获取指定阶段工作及评论
     * date: 2021/11/18 3:19 下午
     * @Author yingjf
     */
    StageDetailVO stageDetail(StageDetailDTO stagedetailDTO) throws XbbException;
    /**
     * description: 阶段任务完成/取消完成
     * date: 2021/11/25 9:26 上午
     * @Author yingjf
     */
    StageFinishWorkVO stageFinishWork(StageFinishWorkDTO stageFinishWorkDTO )throws XbbException;
    /**
     * description:  执行事件保存
     * date: 2021/11/25 6:33 下午
     * @Author yingjf
     */
    StageExecutionEventSaveVO stageExecutionEventSave(StageExecutionEventSaveDTO stageExecutionEventSaveDTO)throws XbbException;
    /**
     * description:  执行事件表单获取
     * date: 2021/11/26 3:02 下午
     * @Author yingjf
     */
    StageExecutionEventGetVO stageExecutionEventGet(StageExecutionEventGetDTO stageExecutionEventGetDTO)throws XbbException;
    /**
     * description:  阶段跳转
     * date: 2021/12/3 2:01 下午
     * @Author yingjf
     */
    StageJumpVO stageJump(StageJumpDTO stageJumpDTO)throws XbbException;

    /**
     * 通用阶段跳转
     *
     * @param commonJumpDTO
     * @throws XbbException
     * @author sunshaoxiang
     */
    CommonJumpVO commonJump(CommonJumpDTO commonJumpDTO) throws XbbException;
}
